package com.finalcial.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface PowerDao {

	
	/**
	 * 进入权限管理界面显示用户信息----查询所有用户信息
	 * @return 用户id、用户姓名、部门名
	 */
	public List<Map<String,Object>> listUserSketchyMsg(); 

	/**
	 * 进入权限管理界面显示角色信息----显示用户角色
	 * @return 角色id、角色名
	 */
	public List<Map<String,Object>> listRoleName();

	/**
	 * 进入权限管理界面显示所有权限信息--点击角色按钮--修改用户角色---用户有角色时
	 * 根据用户id修改用户角色表信息  
	 * @param userId 用户id
	 * @param roleId 角色id
	 * @return
	 */
	public Integer updateRoleMsg(@Param("userId")Integer userId, @Param("roleId")Integer roleId);

	
	/**
	 * 点击角色按钮
	 * 新增用户角色
	 * 新增用户角色信息
	 * @param userId 用户id
	 * @param roleId 角色id
	 * @return
	 */
	public Integer insertUserRoleMsg(@Param("userId")Integer userId, @Param("roleId")Integer roleId);


	/**
	 * 点击权限选框---修改用户权限--用户有权限时
	 * 修改角色权限表信息
	 * @param userId 角色id
	 * @param functionId 权限id
	 * @return
	 */
	public Integer updateRolePowerMsg(@Param("userId")Integer userId, @Param("functionId")Integer functionId);
		

	/**
	 * 点击权限选框---新增用户权限---用户无权限时
	 * 新增角色用户表信息
	 * @param roleId 角色id
	 * @param functionId 权限id
	 * @return
	 */
	public Integer insertRolePowerMsg(@Param("roleId")Integer roleId, @Param("functionId")Integer functionId);

	/**
	 * 点击用户信息--显示用户对应的角色和权限信息
	 * @param userId 用户id
	 * @return 用户id、角色id、权限id
	 */
	 public List<Map<String, Object>> getPowerDetails(Integer userId);

	 /**
	  * 点击搜索按钮-- 搜索用户信息
	  * @param userName 用户名
	  * @return  用户id 用户名 部门名 
	  */
	 public List<Map<String, Object>> getUserSketchyMsgByOne(@Param("userName")String userName);
	 /**
	  * 查询子菜单
	  * @param parentId 父亲节点
	  * @return
	  */
	public List<Map<String, Object>> getChildren(@Param("parentId")Integer parentId); 
	/**
	 * 查询某一角色的权限
	 * @param parentId 父权限ID
	 * @param roleId 角色名
	 * @return
	 */
	public List<Map<String, Object>> getChildrenByType(@Param("parentId")Integer parentId, @Param("roleId")String roleId);
	
}
